//
//  ViewController.swift
//  通讯录test
//
//  Created by lanou on 16/11/8.
//  Copyright (c) 2016年 lanou. All rights reserved.
//

import UIKit

class ViewController: UIViewController {
//声明字典键值对，key是一个数组 values是数组中的数组
    let keys = ["C","D","F","G"]
    let names = [["程耀冬",  "程勇山",  "程思源"],["董欣雨",  "董一涵",  "邓安平", "邓丁瑞", "邓笑梅", "邓梅芳", "邓晴紫", "邓紫悦"],["方一心", "方雪冰", "方华勇", "方子义", "方忠田", "方开强"],["高志山", "高尚淑", "高伶映", "高玟富", "高心毓"]]
    
    override func viewDidLoad() {
        
        super.viewDidLoad()
//        实例化tablebview，设置大家和主屏幕一样大，分区之间无距离
        let tableView = UITableView(frame: UIScreen.mainScreen().bounds, style: .Plain)
        tableView.delegate = self
        tableView.dataSource = self
        view.addSubview(tableView)
        tableView.registerClass(UITableViewCell.self, forCellReuseIdentifier: "cell")
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }


}

extension ViewController:UITableViewDelegate,UITableViewDataSource {
//返回每个分区行数（就是有几个section）
    func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return names[section].count
    }
//    返回单元格
    func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
//        从重用池中取出强制转换为单元格
        let cell = tableView.dequeueReusableCellWithIdentifier("cell") as! UITableViewCell
//        获取到这个分区（section）的所有数据
        let values = names[indexPath.section]
//        拿到当前行的数据
        let str = values[indexPath.row]
        cell.textLabel?.text = str
        return cell
    }
//    返回分区数
    func numberOfSectionsInTableView(tableView: UITableView) -> Int {
        return keys.count
    }
//返回标题
    func tableView(tableView: UITableView, titleForHeaderInSection section: Int) -> String? {
        return keys[section]
}
//分区索引
    func sectionIndexTitlesForTableView(tableView: UITableView) -> [AnyObject]! {
        return keys
}
}
